package org.zfes.snowier.cloud.zbss.pmp.service;

import java.util.List;
import java.util.Map;
import java.util.Optional;

import org.zfes.snowier.cloud.zbss.pmp.dto.PmpProjectUpdateDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpProjectVersionCreateDto;
import org.zfes.snowier.cloud.zbss.pmp.model.PmpProjectVersion;
import org.zfes.snowier.core.data.ComboboVo;
import org.zfes.snowier.core.data.DataSet;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpProjectCreateDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpProjectGroupDetailDto;
import org.zfes.snowier.cloud.zbss.pmp.dto.PmpProjectMemberDto;
import org.zfes.snowier.cloud.zbss.pmp.model.PmpProject;
public interface IPmpProjectService{

	 Optional<PmpProject> loadPmpProjectById(Long id);
	
	
	 void updatePmpProject( PmpProjectUpdateDto pmpProjectDto);

	 void updatePmpProjectVersion(Long id,Long versionId);
	 
	 DataSet loadPmpProjectDataSet(Map<String, Object> params);
	 

 	void setPmpProjectStatus(Long id, Byte status);

	void createPmpProject(PmpProjectCreateDto pmpProjectDto);

	void updatePmpProjectMemberCount(Long id,Integer count);

	List<PmpProjectMemberDto> loadUserPmpProjectList(Long userId);

	List<ComboboVo> loadComboboVo(boolean firstEmpty);
	

	Optional<PmpProject> selectByName(String name);
}